<?php
	class LoginHandler{
		private $m_sessionLocation = "Loginhandler::Online";	//session som håller reda på om vi är inloggade eller ej
		
		public function IsLoggedIn(){	
			if(isset($_SESSION[$this->m_sessionLocation])){	//retunerar session om den finns
				return TRUE;
			}
		}
		public function DoLogin($username, $password){	
			switch($username){
				case 'adam':
					if($password == 'adam'){
						$_SESSION[$this->m_sessionLocation] = TRUE;
						return TRUE;
					}
				case 'johan':
					if($password == 'johan'){
						$_SESSION[$this->m_sessionLocation] = TRUE;
						return TRUE;
					}
				case 'gustav':	
					if($password == 'gustav'){
						$_SESSION[$this->m_sessionLocation] = TRUE;
						return TRUE;
					}
			}
			return FALSE;
		}
		public function DoLogout(){
			if(isset($_SESSION[$this->m_sessionLocation])){
				unset($_SESSION[$this->m_sessionLocation]);		
			}
		}
		public function Test(){
			$this->DoLogout();	//Loggar ut
			
			if($this->IsLoggedIn() == TRUE){	//Kollar så vi är utloggade
				echo "Fel - IsLoggedIn (utloggad)";	
				return FALSE;
			}
			if($this->DoLogin("fel","fel") == TRUE){	//Testar logga in med fel uppgifter
				echo "Fel - DoLogin (inloggning felaktiga uppg.)";
				return FALSE;	
			}
			if($this->IsLoggedIn() == TRUE){	//Kollar så vi är utloggade
				echo "Fel - IsLoggedIn (efter felaktig inloggning)";	
				return FALSE;
			}
			if($this->DoLogin("johan","johan") == FALSE){	//Testar logga in med rätt uppgifter
				echo "Fel - DoLogin (inloggning korrekta uppg.)";
				return FALSE;	
			}
			if($this->IsLoggedIn() == FALSE){	//Testar om vi är inloggade
				echo "Fel - IsLoggedIn (inloggad)";	
				return FALSE;
			}
			if($this->DoLogout()){		//Testar Logga ut
				echo "Fel - DoLogout";	
				return FALSE;
			}
			if($this->IsLoggedIn() == TRUE){	//Kollar så vi är utloggade
				echo "Fel - IsLoggedIn (efter utloggning)";	
				return FALSE;
			}
			if($this->DoLogin("johan", "fel") == TRUE){	//Testar logga in med rätt användarnamn och fel lösenord
				echo "Fel - DoLogin (korrekt användarnamn, Felaktigt Lösenord)";
				return FALSE;	
			}
			if($this->IsLoggedIn() == TRUE){	//Kollar så vi är utloggade
				echo "Fel - IsLoggedIn (efter rätt användarnamn, fel lösenord)";	
				return FALSE;
			}
			return TRUE;	//Allt fungerar
		}
	}
?>